/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ControladoresUI;

import Entidades.Tipousuario;
import Entidades.Usuario;
import javafx.event.*;
import javafx.fxml.FXML;
import javafx.scene.control.*;
import ManagersUI.UsuariosInicioManager;
import Modelos.UsuariosModel;
import Usuarios.ManejoTiposUsuario;
import Usuarios.ManejoUsuarios;
import javafx.scene.control.cell.PropertyValueFactory;
import javax.swing.JOptionPane;
/**
 * FXML Controller class
 *
 * @author JEscalante
 */
public class UsuariosInicioController{

    /**
     * Initializes the controller class.
     */
    UsuariosInicioManager usuariosInicioManager;
    Usuario usuario;
    @FXML private TableView<Usuario> tblUsuarios;
    @FXML private TableColumn<Usuario, String> usuarioColumna;
    @FXML private TableColumn<Usuario, String> nombreColumna;
    @FXML private TableColumn<Usuario, String> apellidosColumna;
    @FXML private TableColumn<Usuario, String> emailColumna;
    public void initialize() {}
  
    public void initManager(final UsuariosInicioManager usuariosInicioManager, Usuario usuario) {
        this.usuariosInicioManager = usuariosInicioManager;
        this.usuario = usuario;
        cargarTabla();
    }
    public void cargarTabla(){
        UsuariosModel usuariosModel = new UsuariosModel(null); 
        tblUsuarios.setItems(usuariosModel.getPersonData());
        usuarioColumna.setCellValueFactory(new PropertyValueFactory<Usuario, String>("username"));
        nombreColumna.setCellValueFactory(new PropertyValueFactory<Usuario, String>("nombre"));
        apellidosColumna.setCellValueFactory(new PropertyValueFactory<Usuario, String>("apellidos"));
        emailColumna.setCellValueFactory(new PropertyValueFactory<Usuario, String>("email"));
    }
    @FXML
    private void modificarUsuario(ActionEvent event){
        Usuario user = tblUsuarios.getSelectionModel().getSelectedItem();
        if(user == null){
            usuariosInicioManager.showPnlUsuariosRegistro(usuario);
        }
        else{
            usuariosInicioManager.showPnlUsuariosModificar(tblUsuarios.getSelectionModel().getSelectedItem());
        }
    }
    @FXML
    private void registrarUsuario(ActionEvent event){
        usuariosInicioManager.showPnlUsuariosRegistro(usuario);
    }
    @FXML
    private void borrarUsuario(ActionEvent event){
    Usuario registro = tblUsuarios.getSelectionModel().getSelectedItem();
        if(registro == null){
            JOptionPane.showMessageDialog( null, "Debe seleccionar un dato","Mensaje", JOptionPane.INFORMATION_MESSAGE );
            usuariosInicioManager.abrirPanelUsuariosInicio(usuario);           
        }
        else{
            int confirmado = JOptionPane.showConfirmDialog(   null,  "Desea realmente eliminarlo" );
            if (JOptionPane.OK_OPTION == confirmado){
                registro.setAnulado(Boolean.TRUE);
                ManejoUsuarios nuevo = new ManejoUsuarios();
               //nuevo.  falta metodo
              usuariosInicioManager.abrirPanelUsuariosInicio(usuario);
            }                        
        }
      }
}